// Created by Jisam on 2024/8/14 23:33.
// solve P1314 [NOIP2011 提高组] 聪明的质监员
#include <cmath>    // 引入数学库，用于数学函数
#include <cstdio>   // 引入标准输入输出库
#include <string>   // 引入字符串库
#include <cstring>  // 引入C风格字符串操作库
#include <iostream> // 引入输入输出流库
#include <algorithm>// 引入算法库，用于min和max函数等
#define maxn 2000010 // 定义最大数组大小
#define int long long // 将int重定义为长整型，以支持更大的整数
using namespace std; // 使用标准命名空间

// 变量声明
int n, m, r = 0, l = 214748364, mid, ans = 999999999999999, s, sum, w[maxn], v[maxn],
        rt[maxn], lf[maxn], pv[maxn], pn[maxn]; // 定义问题规模、权重、价值、左右边界等

// ck函数：检查在给定的权重x下，是否能够达到或超过目标总价值s
inline bool ck(int x) {
    memset(pv, 0, sizeof(pv)); // 初始化价值数组
    memset(pn, 0, sizeof(pn)); // 初始化数量数组
    for (int i = 1; i <= n; i++) {
        if (w[i] >= x) {
            pv[i] = pv[i - 1] + v[i]; // 更新价值总和
            pn[i] = pn[i - 1] + 1;   // 更新数量总和
        } else {
            pv[i] = pv[i - 1]; // 未达到阈值，价值和数量保持不变
            pn[i] = pn[i - 1];
        }
    }
    int y = 0; // 用于存储当前总价值
    for (int i = 1; i <= m; i++)
        y += (pn[rt[i]] - pn[lf[i] - 1]) * (pv[rt[i]] - pv[lf[i] - 1]); // 计算区间价值
    sum = abs(y - s); // 计算当前总价值与目标值的差值
    if (y > s) return 1; // 如果当前总价值超过目标值，返回true
    return 0; // 否则返回false
}

// 主函数
signed main() {
//    scanf("%lld%lld%lld", &n, &m, &s); // 读取问题规模和目标总价值
    ios::sync_with_stdio(false);
    cin.tie(nullptr),cout.tie(nullptr);
    cin >> n >> m >>s;
    for (int i = 1; i <= n; i++)
//        scanf("%lld%lld", &w[i], &v[i]), r = max(r, w[i]), l = min(l, w[i]); // 读取权重和价值，更新最大最小值
    {
        cin >> w[i] >> v[i];
        r  = max(r, w[i]);
        l = min(l,w[i]);
    }
    for (int i = 1; i <= m; i++)
//        scanf("%lld%lld", &lf[i], &rt[i]); // 读取每个区间的左右边界
        cin >> lf[i] >>rt[i];
    l -= 1, r += 2; // 调整边界，为二分查找做准备
    while (l <= r) { // 二分查找
        mid = (l + r) >> 1; // 计算中间值
        if (ck(mid)) l = mid + 1; // 如果当前中间值满足条件，更新左边界
        else r = mid - 1; // 否则更新右边界
        ans = min(ans, sum); // 更新最小差值
    }
    ans = min(ans, sum); // 最后一次更新最小差值
    printf("%lld", ans); // 输出结果
    return 0;
}
